'''日志记录类, 添加日志内容, 自动保存到文件, 并写入分割线与日志时间'''

from datetime import datetime
import sys

class Log:

    def __init__(self, fileName = None):
        if fileName:
            self.fileName = fileName
        else:
            self.fileName = sys.path[0]+'\\'+r'log.txt'    # 日志文件
        self.text = ''  # 保存的日志内容
        self.time = ''  # 保存日志的时间字符串
        self.reset()    # 重置
        return

    # 添加日志内容
    def add(self, text):
        self.text += '\n'+text
        return

    # 保存日志内容, 保存后自动重置
    def save(self):
        with open(self.fileName, 'a') as f:
            f.write(self.text+'\n')
            print('\nLog file = '+self.fileName+'\nhas been saved @ '+self.time)
        self.reset()
        return

    # 重置日志缓存为分割线与日志开始时间
    def reset(self):
        self.time = datetime.now().isoformat()
        self.text = '\n'+'='*50+'\n'+self.time
        return

if __name__ == '__main__':
    l = Log()
    l.add('test111')
    l.add('test2')
    l.save()
    l.reset()
    l.add('test3')
    l.add('test4')
    l.save()

